<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: ORB_SLAM2::FrameDrawer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_o_r_b___s_l_a_m2_1_1_frame_drawer.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_o_r_b___s_l_a_m2_1_1_frame_drawer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ORB_SLAM2::FrameDrawer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Clase de instancia única que se ocupa de mostrar la imagen de la cámara, con marcas verdes sobre los puntos reconocidos.  
 <a href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_frame_drawer_8h_source.html">FrameDrawer.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ORB_SLAM2::FrameDrawer:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_o_r_b___s_l_a_m2_1_1_frame_drawer__coll__graph.svg" width="199" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af9f237399942a23a5f28a5031559cae3"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#af9f237399942a23a5f28a5031559cae3">DrawFrame</a> (float radio=1)</td></tr>
<tr class="memdesc:af9f237399942a23a5f28a5031559cae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invocado sólo por <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a> para que envíe la imagen del cuadro actual a la pantalla.  <a href="#af9f237399942a23a5f28a5031559cae3">More...</a><br /></td></tr>
<tr class="separator:af9f237399942a23a5f28a5031559cae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add0e1c3734c200a959d8ed9f225223db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#add0e1c3734c200a959d8ed9f225223db">FrameDrawer</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *pMap)</td></tr>
<tr class="memdesc:add0e1c3734c200a959d8ed9f225223db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#add0e1c3734c200a959d8ed9f225223db">More...</a><br /></td></tr>
<tr class="separator:add0e1c3734c200a959d8ed9f225223db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1bba97371be98ccab373bab862cf964"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ad1bba97371be98ccab373bab862cf964">Update</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html">Tracking</a> *pTracker)</td></tr>
<tr class="memdesc:ad1bba97371be98ccab373bab862cf964"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invocado sólo por <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html#af1f2c9c533642d8c33854540e90d1918" title="Es la máquina de estados del tracking. ">Tracking::Track</a> avisando que hay un nuevo <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> para mostrar.  <a href="#ad1bba97371be98ccab373bab862cf964">More...</a><br /></td></tr>
<tr class="separator:ad1bba97371be98ccab373bab862cf964"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8596422190adf9c7f6e083073ad96004"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a8596422190adf9c7f6e083073ad96004">distCoef</a></td></tr>
<tr class="memdesc:a8596422190adf9c7f6e083073ad96004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coeficientes de distorsión para undistort.  <a href="#a8596422190adf9c7f6e083073ad96004">More...</a><br /></td></tr>
<tr class="separator:a8596422190adf9c7f6e083073ad96004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac256525bcc9b9330b439c16583ad0255"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ac256525bcc9b9330b439c16583ad0255">K</a></td></tr>
<tr class="memdesc:ac256525bcc9b9330b439c16583ad0255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matriz de calibración del último frame, para undistort.  <a href="#ac256525bcc9b9330b439c16583ad0255">More...</a><br /></td></tr>
<tr class="separator:ac256525bcc9b9330b439c16583ad0255"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a059f66cfb0702264c788a79313ec3630"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a059f66cfb0702264c788a79313ec3630">DrawTextInfo</a> (cv::Mat &amp;im, int nState, cv::Mat &amp;imText)</td></tr>
<tr class="memdesc:a059f66cfb0702264c788a79313ec3630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Agrega una barra debajo de la imagen y escribe en ella el estado del sistema.  <a href="#a059f66cfb0702264c788a79313ec3630">More...</a><br /></td></tr>
<tr class="separator:a059f66cfb0702264c788a79313ec3630"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad7087ccda3d514be5e0132f889c3e949"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ad7087ccda3d514be5e0132f889c3e949">mbOnlyTracking</a></td></tr>
<tr class="memdesc:ad7087ccda3d514be5e0132f889c3e949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copia de la señal de sólo tracking (true) o tracking &amp; mapping (false).  <a href="#ad7087ccda3d514be5e0132f889c3e949">More...</a><br /></td></tr>
<tr class="separator:ad7087ccda3d514be5e0132f889c3e949"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b405554be1a48ade50055af97c2c2c9"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a2b405554be1a48ade50055af97c2c2c9">mIm</a></td></tr>
<tr class="memdesc:a2b405554be1a48ade50055af97c2c2c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Imagen gris del cuadro actual.  <a href="#a2b405554be1a48ade50055af97c2c2c9">More...</a><br /></td></tr>
<tr class="separator:a2b405554be1a48ade50055af97c2c2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1425b923def88314bb43eddf3eee4ddb"><td class="memItemLeft" align="right" valign="top">std::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a1425b923def88314bb43eddf3eee4ddb">mMutex</a></td></tr>
<tr class="separator:a1425b923def88314bb43eddf3eee4ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48374a37e72786b2e64c15c0ec13ce7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a48374a37e72786b2e64c15c0ec13ce7b">mpMap</a></td></tr>
<tr class="memdesc:a48374a37e72786b2e64c15c0ec13ce7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapa mundi.  <a href="#a48374a37e72786b2e64c15c0ec13ce7b">More...</a><br /></td></tr>
<tr class="separator:a48374a37e72786b2e64c15c0ec13ce7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00cc5f188d53b4d8f767f339515cc8e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a00cc5f188d53b4d8f767f339515cc8e3">mState</a></td></tr>
<tr class="memdesc:a00cc5f188d53b4d8f767f339515cc8e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copia del estado del autómata finito del sistema.  <a href="#a00cc5f188d53b4d8f767f339515cc8e3">More...</a><br /></td></tr>
<tr class="separator:a00cc5f188d53b4d8f767f339515cc8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ec8c5aea5cffee69ac5cec6abb5871"><td class="memItemLeft" align="right" valign="top">vector&lt; cv::KeyPoint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a35ec8c5aea5cffee69ac5cec6abb5871">mvCurrentKeys</a></td></tr>
<tr class="memdesc:a35ec8c5aea5cffee69ac5cec6abb5871"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puntos singulares del cuadro actual.  <a href="#a35ec8c5aea5cffee69ac5cec6abb5871">More...</a><br /></td></tr>
<tr class="separator:a35ec8c5aea5cffee69ac5cec6abb5871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890a8bd44745b16024e1d7e82ac1d3f0"><td class="memItemLeft" align="right" valign="top">vector&lt; cv::KeyPoint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a890a8bd44745b16024e1d7e82ac1d3f0">mvIniKeys</a></td></tr>
<tr class="memdesc:a890a8bd44745b16024e1d7e82ac1d3f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puntos singulares de inicialización.  <a href="#a890a8bd44745b16024e1d7e82ac1d3f0">More...</a><br /></td></tr>
<tr class="separator:a890a8bd44745b16024e1d7e82ac1d3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a158a3ca6cab99c6bb691a7537212764b"><td class="memItemLeft" align="right" valign="top">vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a158a3ca6cab99c6bb691a7537212764b">mvIniMatches</a></td></tr>
<tr class="memdesc:a158a3ca6cab99c6bb691a7537212764b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macheos de inicialización.  <a href="#a158a3ca6cab99c6bb691a7537212764b">More...</a><br /></td></tr>
<tr class="separator:a158a3ca6cab99c6bb691a7537212764b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc9489192f5485ece966b0d6d589e47"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#adbc9489192f5485ece966b0d6d589e47">N</a></td></tr>
<tr class="memdesc:adbc9489192f5485ece966b0d6d589e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantidad de puntos singulares.  <a href="#adbc9489192f5485ece966b0d6d589e47">More...</a><br /></td></tr>
<tr class="separator:adbc9489192f5485ece966b0d6d589e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44ac17e7eaa72fc541bd64c45e697265"><td class="memItemLeft" align="right" valign="top">vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#a44ac17e7eaa72fc541bd64c45e697265">observaciones</a></td></tr>
<tr class="memdesc:a44ac17e7eaa72fc541bd64c45e697265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantidad de observaciones de cada punto del mapa.  <a href="#a44ac17e7eaa72fc541bd64c45e697265">More...</a><br /></td></tr>
<tr class="separator:a44ac17e7eaa72fc541bd64c45e697265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:aa7d745757f0a81f8460236036b837b0e"><td class="memItemLeft" align="right" valign="top">vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#aa7d745757f0a81f8460236036b837b0e">mvbMap</a></td></tr>
<tr class="memdesc:aa7d745757f0a81f8460236036b837b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vectores booleanos que indican si el punto singular está siendo trackeado.  <a href="#aa7d745757f0a81f8460236036b837b0e">More...</a><br /></td></tr>
<tr class="separator:aa7d745757f0a81f8460236036b837b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab47bccbb2ddfa65221a968736a6bd092"><td class="memItemLeft" align="right" valign="top">vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ab47bccbb2ddfa65221a968736a6bd092">mvbVO</a></td></tr>
<tr class="separator:ab47bccbb2ddfa65221a968736a6bd092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ae111426e790338d9f5f4556434716919"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ae111426e790338d9f5f4556434716919">mnTracked</a></td></tr>
<tr class="memdesc:ae111426e790338d9f5f4556434716919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantidad de macheos con puntos 3D.  <a href="#ae111426e790338d9f5f4556434716919">More...</a><br /></td></tr>
<tr class="separator:ae111426e790338d9f5f4556434716919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1cbcb7a1443ceaaafaaf5537927f184"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ab1cbcb7a1443ceaaafaaf5537927f184">mnTrackedVO</a></td></tr>
<tr class="separator:ab1cbcb7a1443ceaaafaaf5537927f184"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Clase de instancia única que se ocupa de mostrar la imagen de la cámara, con marcas verdes sobre los puntos reconocidos. </p>
<p>Utiliza imshow de opencv. Al pie de la imagen describe el estado del sistema. <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html" title="Clase de instancia única que se ocupa de mostrar la imagen de la cámara, con marcas verdes sobre los ...">FrameDrawer</a> se accede desde dos hilos paralelos asincrónicos:</p><ul>
<li><a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html#af1f2c9c533642d8c33854540e90d1918" title="Es la máquina de estados del tracking. ">Tracking::Track</a> invoca el método <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#ad1bba97371be98ccab373bab862cf964" title="Invocado sólo por Tracking::Track avisando que hay un nuevo Frame para mostrar. ">FrameDrawer::Update</a> avisando que hay un nuevo <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> para mostrar.</li>
<li><a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a> invoca el método <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html#af9f237399942a23a5f28a5031559cae3" title="Invocado sólo por Viewer::Run para que envíe la imagen del cuadro actual a la pantalla. ">FrameDrawer::DrawFrame</a> cuando es momento de actualizar la pantalla. </li>
</ul>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="add0e1c3734c200a959d8ed9f225223db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::FrameDrawer::FrameDrawer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a> *&#160;</td>
          <td class="paramname"><em>pMap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>Constructor, que inicia el contenedor de la imagen a color a mostrar.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af9f237399942a23a5f28a5031559cae3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::FrameDrawer::DrawFrame </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>radio</em> = <code>1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invocado sólo por <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a> para que envíe la imagen del cuadro actual a la pantalla. </p>
<p>Genera la imagen para visualización.</p>
<p>Sobre el cuadro actual procesado dibuja marcas. En el estado NOT_INITIALIZED dibuja las líneas de flujo óptico consideradas para la triangulación inicial. En el estado OK pone marcas verdes sobre puntos del mapa local visualizados, y marcas azules sobre puntos encontrados para VO</p>
<p>Invocado exclusivamente desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_viewer.html#a68c269890714298034997be622f09947" title="Método principal de Viewer, que se ejecuta en un hilo propio. ">Viewer::Run</a> </p>

</div>
</div>
<a id="a059f66cfb0702264c788a79313ec3630"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::FrameDrawer::DrawTextInfo </td>
          <td>(</td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>im</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>imText</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Agrega una barra debajo de la imagen y escribe en ella el estado del sistema. </p>
<p>Agrega una barra de información det texto al pie de la imagen.</p>
<p>El texto de la barra se genera en este método.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">im</td><td>Imagen original </td></tr>
    <tr><td class="paramname">nState</td><td></td></tr>
    <tr><td class="paramname">imText</td><td>Resultado, nueva imagen con la barra de información agregada. Es un poco más alta que la imagen original, por la barra agregada. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad1bba97371be98ccab373bab862cf964"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::FrameDrawer::Update </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html">Tracking</a> *&#160;</td>
          <td class="paramname"><em>pTracker</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invocado sólo por <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html#af1f2c9c533642d8c33854540e90d1918" title="Es la máquina de estados del tracking. ">Tracking::Track</a> avisando que hay un nuevo <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> para mostrar. </p>
<p>Track invoca este método avisando que se terminó de procesar un cuadro.</p>
<p>Cuando se invoque DrawFrame, el objeto <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html" title="Clase de instancia única que se ocupa de mostrar la imagen de la cámara, con marcas verdes sobre los ...">FrameDrawer</a> tendrá los datos del último cuadro procesado. Invocada sólo desde Track. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a8596422190adf9c7f6e083073ad96004"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::FrameDrawer::distCoef</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Coeficientes de distorsión para undistort. </p>

</div>
</div>
<a id="ac256525bcc9b9330b439c16583ad0255"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::FrameDrawer::K</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Matriz de calibración del último frame, para undistort. </p>

</div>
</div>
<a id="ad7087ccda3d514be5e0132f889c3e949"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ORB_SLAM2::FrameDrawer::mbOnlyTracking</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copia de la señal de sólo tracking (true) o tracking &amp; mapping (false). </p>

</div>
</div>
<a id="a2b405554be1a48ade50055af97c2c2c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::FrameDrawer::mIm</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Imagen gris del cuadro actual. </p>

</div>
</div>
<a id="a1425b923def88314bb43eddf3eee4ddb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::mutex ORB_SLAM2::FrameDrawer::mMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae111426e790338d9f5f4556434716919"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::FrameDrawer::mnTracked</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cantidad de macheos con puntos 3D. </p>
<p>mnTracked indica la cantidad de macheos entre puntos singulares del cuadro y puntos del mapa. mnTrackedVO indica la cantidad de macheos entre puntos singulares del cuadro y puntos 3D de odometría visual, no agregados al mapa. </p>

</div>
</div>
<a id="ab1cbcb7a1443ceaaafaaf5537927f184"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::FrameDrawer::mnTrackedVO</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a48374a37e72786b2e64c15c0ec13ce7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map.html">Map</a>* ORB_SLAM2::FrameDrawer::mpMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Mapa mundi. </p>

</div>
</div>
<a id="a00cc5f188d53b4d8f767f339515cc8e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::FrameDrawer::mState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copia del estado del autómata finito del sistema. </p>

</div>
</div>
<a id="aa7d745757f0a81f8460236036b837b0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;bool&gt; ORB_SLAM2::FrameDrawer::mvbMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vectores booleanos que indican si el punto singular está siendo trackeado. </p>
<p>mvbMap indica si el punto singular corresponde a un punto del mapa. mvbVO indica si el punto singular corresponde a un punto no agregado al mapa, para odometría visual. </p>

</div>
</div>
<a id="ab47bccbb2ddfa65221a968736a6bd092"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;bool&gt; ORB_SLAM2::FrameDrawer::mvbVO</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a35ec8c5aea5cffee69ac5cec6abb5871"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;cv::KeyPoint&gt; ORB_SLAM2::FrameDrawer::mvCurrentKeys</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Puntos singulares del cuadro actual. </p>

</div>
</div>
<a id="a890a8bd44745b16024e1d7e82ac1d3f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;cv::KeyPoint&gt; ORB_SLAM2::FrameDrawer::mvIniKeys</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Puntos singulares de inicialización. </p>

</div>
</div>
<a id="a158a3ca6cab99c6bb691a7537212764b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;int&gt; ORB_SLAM2::FrameDrawer::mvIniMatches</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Macheos de inicialización. </p>

</div>
</div>
<a id="adbc9489192f5485ece966b0d6d589e47"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::FrameDrawer::N</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cantidad de puntos singulares. </p>

</div>
</div>
<a id="a44ac17e7eaa72fc541bd64c45e697265"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;int&gt; ORB_SLAM2::FrameDrawer::observaciones</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cantidad de observaciones de cada punto del mapa. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/alejandro/Desarrollo eclipse/os1/include/<a class="el" href="_frame_drawer_8h_source.html">FrameDrawer.h</a></li>
<li>/home/alejandro/Desarrollo eclipse/os1/src/<a class="el" href="_frame_drawer_8cc.html">FrameDrawer.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></li><li class="navelem"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame_drawer.html">FrameDrawer</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
